package com.itcast.demo_one.kotlin

fun main() {
    val man = Person2("张三丰", 500)
    man.intro()

    val women = Person2("小丽", 38)
    women.intro()
}

// 1. 显式主构造函数
/*
class Person2 constructor(var name: String, var age: Int) {
    init {
        // 初始的校验
        // println("初始化代码块")

        require(name.isNotEmpty()){"name不能为空"}
        require(age > 0){"age不能小于0"}
    }

    fun intro() {
        println("我的名字是：$name, 年龄是：$age")
    }
}*/

// 2. 隐式主构造函数
class Person2(var name: String, var age: Int) {
    init {
        // 初始的校验
        require(name.isNotEmpty()){"name不能为空"}
        require(age > 0){"age不能小于0"}
    }

    fun intro() {
        println("我的名字是：$name, 年龄是：$age")
    }
}
